[Coding017] 递归 - Fibonacci数列

递归知识点

Ben 2024/01/01

More coding records

Get the knowledge flowing and circulating! :)

目录

知识点

维基百科 - 斐波那契数

斐波那契数(意大利语:Successione di Fibonacci),又译为菲波拿契数、菲波那西数、斐氏数、黄金分割数。所形成的数列称为斐波那契数列,又译为菲波拿契数列、菲波那西数列、斐氏数列、黄金分割数列。这个数列是由意大利数学家斐波那契在他的《算盘书》中提出。

特别指出:0不是第一项,而是第零项。

斐波那契数列(Fibonacci)介绍:

F(0)=0F(1)=1F(n)=F(n1)+F(n2) (n2nN)
序号0123454050
数值01123510233415512586269025

百度百科 - 斐波那契数列

斐波那契数列(Fibonacci sequence),又称黄金分割数列 [1],因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称“兔子数列”,其数值为:1、1、2、3、5、8、13、21、34……在数学上,这一数列以如下递推的方法定z义:F(0)=1,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)。

相关概念:

 

本题收获

  1. 递归算法的必备条件之一;

    • 必然有出口,例如:if (n == 0) return; if (n > 0) n = n - 1;

  2. 计时方法

    • C语言的时间计算方法;

    • Java语言中的时间计算方法;

  3. Java中有无static修饰对函数调用的影响。

 

代码(4种实现方法)

代码1(C语言经典递归 - 2种写法)

image-20240101173506576


代码2(C语言经典递归 - 计时版)

image-20240101174609493


代码3(C语言非递归 - 计时版)

image-20240101174732512


代码4(Java语言非递归 - 计时版)

image-20240101180254806

 

知识点积累 (Java static方法的调用)

问题 & 解决